﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HSDc.RingleFlow.Api.Kernel;

namespace HSDc.RingleFlow.Api.Service
{
    public interface IRepositoryService
    {
        /// <summary>
        /// 註冊ProcessDefinition
        /// </summary>
        /// <param name="DefinitionXml">jPEL XML</param>
        /// <returns>Process Difinition ID - Guid</returns>
        string RegisterProcessDefinition(string DefinitionXml);
        /// <summary>
        /// 利用Process Definition ID取得Process Definition
        /// </summary>
        /// <param name="processDefinitionId">Process Definition ID - Guid</param>
        /// <returns>IProcessDefinition</returns>
        IProcessDefinition GetProcessDefinition(string processDefinitionId);
        /// <summary>
        /// 利用Process Definition Name(唯一值)取得Process Definition
        /// </summary>
        /// <param name="processDefinitionName">Process Definition Name</param>
        /// <returns>IProcessDefinition</returns>
        IProcessDefinition GetProcessDefinitionByName(string processDefinitionName);
    }
}
